-
Notifications
You must be signed in to change notification settings - Fork 795
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix #17797 -- Realsig+ generates nested closures with incorrect Generic arguments #17877
Conversation
❗ Release notes required
|
35a8aad
to
a7eeda8
Compare
bb06ffa
to
1d562ef
Compare
e13abad
to
ef80877
Compare
376285d
to
d2ff439
Compare
tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeInitialization.fs
Outdated
Show resolved
Hide resolved
tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeInitialization.fs
Show resolved
Hide resolved
...ler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOn.fs.il.net472.debug.bsl
Outdated
Show resolved
Hide resolved
...ler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOn.fs.il.net472.debug.bsl
Outdated
Show resolved
Hide resolved
tests/FSharp.Compiler.ComponentTests/Conformance/LexicalAnalysis/SymbolicOperators.fs
Outdated
Show resolved
Hide resolved
tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputedCollections/ComputedCollections.fs
Outdated
Show resolved
Hide resolved
My review is finished, but let's wait for the ilverify for realsig as a CI step as well. |
…is/SymbolicOperators.fs Yeah the comments are pointless. Co-authored-by: Tomas Grosup <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will make these changes, they are good suggestions.
tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeInitialization.fs
Show resolved
Hide resolved
tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeInitialization.fs
Outdated
Show resolved
Hide resolved
tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputedCollections/ComputedCollections.fs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can't find anything suspicious here, well tested IMO.
Co-authored-by: Petr <[email protected]>
When realsig+ is specified we generate closures as nested classes rather than classes at the same level as the class that the closures are for. This eliminates the need for members of the class to be internal allowing us to make the members private to reflect their source visibility.
Issue 17797 occurs because the closures were generated without the generic parameters. This fix addresses that by getting the generic parameters from the argument/typar environment.